function curry(fn) {
    return function curryFn(...args) {
        if (fn.length == args.length) {
            fn(...args)
        } else {
            return function () { // 注意// 注意 包裹函数
                return curryFn(...args.concat(Array.from(arguments)))  // 注意// 注意
            }
        }
    }
}

function compose(...args) {
    return function (value) {
        return args.reduce((pre, next) => {
            next(pre)
        }, value)
    }

}

// compose(f1 ,f2) f2(f1())